Skip to content

Move out python packages installations from make_python and make_pyside6 - #1030

Merged
cedrik-fuoco-adsk merged 28 commits into
AcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:cleanup-make-python
Jan 8, 2026
Merged

Move out python packages installations from make_python and make_pyside6#1030
cedrik-fuoco-adsk merged 28 commits into
AcademySoftwareFoundation:mainfrom
cedrik-fuoco-adsk:cleanup-make-python

Conversation

@cedrik-fuoco-adsk

@cedrik-fuoco-adsk cedrik-fuoco-adsk commented Dec 18, 2025

Copy link
Copy Markdown
Contributor

Move out python packages installations from make_python and make_pyside6

Linked issues

n/a

Summarize your change.

Changes:

  • Refactored Python build system to separate concerns and improve Windows Debug build compatibility
  • Removed pip install commands from make_python.py and moved dependency installation to CMake
  • Created standalone test_python.py script for Python distribution validation
  • Numpy version is a CMake variable instead of an ENV variable
  • Fixed sitecustomize.py to handle missing dependencies during build and improved error handling

I changed pip install strategy from --no-binary :all: --only-binary pip,setuptools,wheel to --no-binary opentimelineio,numpy,PyOpenGL-accelerate,cryptography,pydantic,cffi.

Note: cffi was added because of Windows and the debug build.

Previously:
Forced all packages (except pip/setuptools/wheel) to build from source, including build tools (Cython, meson-python, ninja), pure Python packages (certifi, six, packaging, requests), and packages with native extensions

Now:
Only packages with C/C++/Rust extensions that need to link against our custom Python build are compiled from source. All other packages (build tools, pure Python libraries) use pre-built binary wheels

Rationale:
Build tools like Cython don't need to match our Python's ABI. They're just tools used during compilation. Pre-built wheels work fine and install much faster. Only runtime dependencies with native code that links to Python (like numpy's C extensions or cryptography's Rust/C code) need to be built against our specific Python build

Describe the reason for the change.

It was not clear why some package were installed in the requirements.txt, or in make_python.py or at both places.
I think it will be more robust like this and more clear.

Describe what you have tested and on which operating system.

MacOS + CI

Add a list of changes, and note any that might need special attention during the review.

If possible, provide screenshots.

rogernelson and others added 16 commits December 10, 2025 16:02
Signed-off-by: Roger Nelson <roger.nelson@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
…ython outside of make_python.py

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
cedrik-fuoco-adsk and others added 5 commits December 18, 2025 12:36
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
…ecause certifi was moved outside of make_python.py

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
…cakges like cpython, meson, ninja, etc from source

Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title WIP - Draft - Move out python packages installations from make_python and make_pyside6 Move out python packages installations from make_python and make_pyside6 Dec 19, 2025
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>

@bernie-laberge bernie-laberge left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Thank you @cedrik-fuoco-adsk !

@rogernelson rogernelson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great cleanup, I really only have one somewhat minor suggestion around the binary component package building,

Comment thread cmake/dependencies/python3.cmake Outdated
Comment thread cmake/dependencies/python3.cmake Outdated
Comment thread cmake/dependencies/python3.cmake
Comment thread src/build/make_pyside6.py
Comment thread src/build/make_python.py
Comment thread src/build/make_python.py Outdated
Comment thread src/build/make_python.py Outdated
Comment thread src/build/test_python.py Outdated
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
@linux-foundation-easycla

linux-foundation-easycla Bot commented Jan 5, 2026

Copy link
Copy Markdown

CLA Signed

The committers listed above are authorized under a signed CLA.

@cedrik-fuoco-adsk
cedrik-fuoco-adsk force-pushed the cleanup-make-python branch 2 times, most recently from f3e1a3d to 1f2f811 Compare January 5, 2026 16:12
cedrik-fuoco-adsk and others added 2 commits January 7, 2026 15:06
Signed-off-by: Cédrik Fuoco <105517825+cedrik-fuoco-adsk@users.noreply.github.com>
Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
@cedrik-fuoco-adsk
cedrik-fuoco-adsk merged commit 4245dd1 into AcademySoftwareFoundation:main Jan 8, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants